 /**********************************************************************
 * Fichier : USBDrivaCore.h
 *
 * Résumé : Fichier d'en-tête qui déclare les fonctions "coeur"
 *          (internes) du module ainsi que ses structures personnelles.
 *
 * Auteur : Vincent Léger
 *
 * Dernière modification : Lundi 5 novembre 2012
 *
 **********************************************************************/

#ifndef _USBDRIVACORE_H_
#define _USBDRIVACORE_H_

 /******************************************
 *********DÉCLARATION DE LIBRAIRIES*********
 ******************************************/
#include "KernelLibz.h"         //librairies du kernel linux
#include "DebugMacros.h"        //macros pour debogage
#include "DrivaDefinitions.h"  //définition des

 /******************************************
 **********STRUCTURES PERSONNELLES**********
 ******************************************/
// Structure personnelle du Pilote
/*struct ExBufDevStruct {
   unsigned char      *ExBuf;       // Espace d'échange
   struct UserStruct  *User[MAXUSERS];  // Tableau des usagers actuels
   unsigned int       End;      // Indicateur de fin des données dans l'Espace d'échange
   struct semaphore   ExBufDev_sem; // Sémaphore d'accès à l'Espace d'échange
   wait_queue_head_t  ExBuf_queue;  // File d'attente pour l'accès à l'Espace d'échange
   dev_t              dev;
   struct cdev        cdev;
} ExBufDev;

// Structure personnelle de chaque usager
struct UserStruct {
   struct ExBufDevStruct *Dev;          // Pointeur vers la structure personnelle du Pilote
   unsigned char         LocalBuf[LOCBUFSIZE];  // Tampon local pour les transfers de données
   short                 InStart, InEnd;    // Index de plage réservée en LECTURE
   short                 OutStart, OutEnd;  // Index de plage réservée en ÉCRITURE
   struct semaphore      User_sem;      // Sémaphore d'accès au Tampon local
   uid_t                 uid;           // Identification de l'usager
   unsigned int          f_flags;       // Drapeaux de mode d'accès
};*/

 /******************************************
 *********DÉCLARATION DE FONCTIONS**********
 ******************************************/


#endif  //_USBDRIVACORE_H_

